package main.双指针;

/**
 * @author tmh
 * @date 2024/7/9 17:14
 * @description 采用双指针秒了
 */
public class T283移动零 {
    public void moveZeroes(int[] nums) {
        //初始化j指向第一个元素
        int j = 0;
        for (int i = 0; i < nums.length; i++) {
            //如果num[i]!=0的时候才往后面进行操作 [0,1,0,3,12]可以使用这个数组来进行模拟下
            if (nums[i] != 0) {
                nums[j] = nums[i];
                //如果j！=i才进行后续的操作,如果j=i的话，就说明i和j都指向同一个不为0的位置
                if (j != i) {
                    nums[i] = 0;
                }
                j++;
            }
        }
    }

}
